package cn.zyq.demo.beans.sys;


import cn.zyq.demo.system.common.BaseBean;
import com.alibaba.fastjson.annotation.JSONField;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.persistence.*;
import java.io.Serializable;
import java.time.LocalDateTime;


/**
 * 操作日志记录
 * 2023-05-12 20:14:09
 */
@Entity
@Table(name ="`sysOperLog`")
@Data
public class SysOperLog extends BaseBean implements Serializable {

	private static final long serialVersionUID = 8573536565260171635L;

	/**
	 * 日志主键
	 */
	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY, generator = "JDBC")
	@Column(name = "`sysOperLogID`")
	@ApiModelProperty("日志主键")
	private Integer sysOperLogID;

	/**
	 * 模块标题
	 */
	@Column(name = "`title`")
	@ApiModelProperty("模块标题")
	private String title;

	/**
	 * 业务类型（0其它 1新增 2修改 3删除）
	 */
	@Column(name = "`businessType`")
	@ApiModelProperty("业务类型（0其它 1新增 2修改 3删除）")
	private Integer businessType;

	/**
	 * 方法名称
	 */
	@Column(name = "`method`")
	@ApiModelProperty("方法名称")
	private String method;

	/**
	 * 请求方式
	 */
	@Column(name = "`requestMethod`")
	@ApiModelProperty("请求方式")
	private String requestMethod;

	/**
	 * 操作类别（0其它 1后台用户 2手机端用户）
	 */
	@Column(name = "`operatorType`")
	@ApiModelProperty("操作类别（0其它 1后台用户 2手机端用户）")
	private Integer operatorType;

	/**
	 * 操作人员
	 */
	@Column(name = "`operName`")
	@ApiModelProperty("操作人员")
	private String operName;

	/**
	 * 部门名称
	 */
	@Column(name = "`deptName`")
	@ApiModelProperty("部门名称")
	private String deptName;

	/**
	 * 请求URL
	 */
	@Column(name = "`operUrl`")
	@ApiModelProperty("请求URL")
	private String operUrl;

	/**
	 * 主机地址
	 */
	@Column(name = "`operIp`")
	@ApiModelProperty("主机地址")
	private String operIp;

	/**
	 * 操作地点
	 */
	@Column(name = "`operLocation`")
	@ApiModelProperty("操作地点")
	private String operLocation;

	/**
	 * 请求参数
	 */
	@Column(name = "`operParam`")
	@ApiModelProperty("请求参数")
	private String operParam;

	/**
	 * 返回参数
	 */
	@Column(name = "`jsonResult`")
	@ApiModelProperty("返回参数")
	private String jsonResult;

	/**
	 * 操作状态（0正常 1异常）
	 */
	@Column(name = "`status`")
	@ApiModelProperty("操作状态（0正常 1异常）")
	private Integer status;

	/**
	 * 错误消息
	 */
	@Column(name = "`errorMsg`")
	@ApiModelProperty("错误消息")
	private String errorMsg;

	/**
	 * 操作时间
	 */
	@Column(name = "`operTime`")
	@ApiModelProperty("操作时间")
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
	private LocalDateTime operTime;

	/**
	 * 消耗时间
	 */
	@Column(name = "`costTime`")
	@ApiModelProperty("消耗时间")
	private Long costTime;

}
